package it.mangusto.fork;

import net.londatiga.android.ActionItem;
import net.londatiga.android.PopupMenu;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.google.ads.AdRequest;
import com.google.ads.AdSize;
import com.google.ads.AdView;

public class TabRicetta extends Activity {

	Button btn_spesa, btn_preparazione;
	TextView txt_top, txt_categoria, txt_contenuto;
	RelativeLayout actionbar;
	ActionItem ai_ingredienti, ai_vino, ai_consigli;
	AdView banner;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.layout_ricetta);

		// Recupero delle informazioni passate da ListaCibo.java
		Intent intent = getIntent();
		String pkg = getPackageName();
		String titolo = intent.getStringExtra(pkg + ".titolo");
		final String ingredienti = intent.getStringExtra(pkg + ".ingredienti");
		final String vino = intent.getStringExtra(pkg + ".vino");
		final String consigli = intent.getStringExtra(pkg + ".consigli");
		final String preparazione = intent
				.getStringExtra(pkg + ".preparazione");
		final String persone = intent.getStringExtra(pkg + ".persone");
		final String versione = intent.getStringExtra(pkg + ".versione");

		// Animazione testo nella barra
		Typeface fontType = Typeface.createFromAsset(this.getAssets(),
				"Fontastique.ttf");
		txt_top = (TextView) findViewById(R.id.text_titolo);
		txt_top.setTypeface(fontType);
		txt_top.setText(titolo);
		txt_top.setSelected(true);
		Animation bounce = AnimationUtils.loadAnimation(this, R.anim.bounce);
		findViewById(R.id.text_titolo).startAnimation(bounce);

		// RELATIVE LAYOUT
		actionbar = (RelativeLayout) findViewById(R.id.rellyt_actionbar);
		txt_categoria = (TextView) findViewById(R.id.text_categoria);

		// POPUP MENU
		ai_ingredienti = new ActionItem();
		ai_vino = new ActionItem();
		ai_consigli = new ActionItem();

		// IMAGEVIEW
		ImageView foto = (ImageView) findViewById(R.id.imgv_fotoricetta);
		foto.setVisibility(View.GONE);

		// Coloro la barra e seleziono le icone del PopupMenu a seconda del
		// ricettario scelto
		if (versione.equals("NORMALE")) {
			actionbar.setBackgroundDrawable(this.getResources().getDrawable(
					R.drawable.shade_red));
			txt_categoria.setTextColor(Color.RED);
			ai_ingredienti.setIcon(getResources().getDrawable(
					R.drawable.ic_popup_ingredienti_red));
			ai_vino.setIcon(getResources().getDrawable(
					R.drawable.ic_popup_vino_red));
			ai_consigli.setIcon(getResources().getDrawable(
					R.drawable.ic_popup_consigli_red));
		} else if (versione.equals("UTENTE")) {
			actionbar.setBackgroundDrawable(this.getResources().getDrawable(
					R.drawable.shade_blue));
			txt_categoria.setTextColor(Color.CYAN);
			ai_ingredienti.setIcon(getResources().getDrawable(
					R.drawable.ic_popup_ingredienti_blue));
			ai_vino.setIcon(getResources().getDrawable(
					R.drawable.ic_popup_vino_blue));
			ai_consigli.setIcon(getResources().getDrawable(
					R.drawable.ic_popup_consigli_blue));
		} else if (versione.equals("VEGETARIANE")) {
			actionbar.setBackgroundDrawable(this.getResources().getDrawable(
					R.drawable.shade_green));
			txt_categoria.setTextColor(Color.GREEN);
			ai_ingredienti.setIcon(getResources().getDrawable(
					R.drawable.ic_popup_ingredienti_green));
			ai_vino.setIcon(getResources().getDrawable(
					R.drawable.ic_popup_vino_green));
			ai_consigli.setIcon(getResources().getDrawable(
					R.drawable.ic_popup_consigli_green));
		}

		// Impostiamo il testo delle TextView
		txt_categoria = (TextView) findViewById(R.id.text_categoria);
		txt_categoria.setText("Ingredienti per " + persone + " persone");
		txt_contenuto = (TextView) findViewById(R.id.text_content);
		txt_contenuto.setText(ingredienti);

		// Creazione delle voci da inserire nel PopupMenu
		ai_ingredienti.setTitle("Ingredienti");

		ai_ingredienti.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				txt_categoria
						.setText("Ingredienti per " + persone + " persone");
				txt_contenuto.setText(ingredienti);
			}
		});

		ai_vino.setTitle("Vino");
		ai_vino.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				txt_categoria.setText(R.string.categoria_vino);
				if (vino.equals("null"))
					txt_contenuto.setText("Non sono presenti vini consigliati");
				else
					txt_contenuto.setText(vino);
			}
		});

		ai_consigli.setTitle("Consigli");
		ai_consigli.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				txt_categoria.setText(R.string.categoria_consigli);
				if (consigli.equals("null"))
					txt_contenuto
							.setText("Non sono presenti consigli per questa ricetta");
				else
					txt_contenuto.setText(consigli);
			}
		});

		btn_spesa = (Button) this.findViewById(R.id.button5);
		btn_spesa.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				PopupMenu pm = new PopupMenu(v);

				pm.addActionItem(ai_ingredienti);
				pm.addActionItem(ai_vino);
				pm.addActionItem(ai_consigli);
				pm.setAnimStyle(PopupMenu.ANIM_GROW_FROM_CENTER);

				pm.show();
			}
		});

		btn_preparazione = (Button) this.findViewById(R.id.button6);
		btn_preparazione.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				txt_categoria.setText(R.string.categoria_preparazione);
				txt_contenuto.setText(preparazione);
			}
		});

		if (!Indice.ISPRO) {
			
			if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK)
					== Configuration.SCREENLAYOUT_SIZE_XLARGE)
				banner = new AdView(this, AdSize.IAB_LEADERBOARD, Indice.ADMOB_ID);
			else
				banner = new AdView(this, AdSize.BANNER, Indice.ADMOB_ID);
			
			LinearLayout layout = (LinearLayout) findViewById(R.id.Layout_Ad);
			layout.addView(banner);
			AdRequest request = new AdRequest();
			request.addTestDevice(AdRequest.TEST_EMULATOR);
			request.setTesting(false);
			layout.setHorizontalGravity(1);
			banner.loadAd(request);
		}

	}
}